package com.xinke.module.system.model.vo.user;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.xinke.component.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.xinke.component.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 用户信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AdminUserPageReqVO extends PageParam {

    @Schema(description = "用户账号", example = "赵六")
    private String userName;

    @Schema(description = "密码")
    private String userPassword;

    @Schema(description = "用户昵称", example = "李四")
    private String userNickName;

    @Schema(description = "部门ID", example = "17468")
    private Long deptId;

    @Schema(description = "岗位编号数组")
    private String postIds;

    @Schema(description = "用户邮箱")
    private String userEmail;

    @Schema(description = "手机号码")
    private String userPhone;

    @Schema(description = "用户性别")
    private Integer userSex;

    @Schema(description = "头像地址")
    private String userAvatar;

    @Schema(description = "帐号状态（1正常 0停用）", example = "1")
    private Integer userStatus;

    @Schema(description = "最后登录IP")
    private String loginIp;

    @Schema(description = "最后登录时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] loginDate;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "创建时间", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "角色编号", example = "1024")
    private Long roleId;
}